package com.open.pay.wechat.sdk;

/**
 * @author zhang kaichao
 */
public abstract class WxPayRequest {

    /**
     * 可重试的，非双向认证的请求
     * @param urlSuffix
     * @param uuid
     * @param data
     * @return
     */
    public abstract String requestWithoutCert(String urlSuffix, String uuid, String data, boolean autoReport) throws Exception ;

    /**
     * 可重试的，非双向认证的请求
     * @param urlSuffix urlSuffix
     * @param uuid urlSuffix
     * @param data urlSuffix
     * @param connectTimeoutMs urlSuffix
     * @param readTimeoutMs urlSuffix
     * @param autoReport urlSuffix
     * @return
     * @throws Exception
     */
    public abstract String requestWithoutCert(String urlSuffix, String uuid, String data, int connectTimeoutMs, int readTimeoutMs,  boolean autoReport) throws Exception;

    /**
     * 可重试的，双向认证的请求
     * @param urlSuffix
     * @param uuid
     * @param data
     * @return
     */
    public abstract String requestWithCert(String urlSuffix, String uuid, String data, boolean autoReport) throws Exception;
    /**
     * 可重试的，双向认证的请求
     * @param urlSuffix
     * @param uuid
     * @param data
     * @param connectTimeoutMs
     * @param readTimeoutMs
     * @return
     */
    public abstract String requestWithCert(String urlSuffix, String uuid, String data, int connectTimeoutMs, int readTimeoutMs, boolean autoReport) throws Exception;
}
